﻿using System;
using System.IO;
using System.Reflection;
using Mono.Cecil.Cil;

namespace Mono.Cecil
{
	// Token: 0x020000AA RID: 170
	public sealed class WriterParameters
	{
		// Token: 0x170001B4 RID: 436
		// (get) Token: 0x060006C4 RID: 1732 RVA: 0x000218C0 File Offset: 0x0001FAC0
		// (set) Token: 0x060006C5 RID: 1733 RVA: 0x0000476B File Offset: 0x0000296B
		public uint? Timestamp
		{
			get
			{
				return this.timestamp;
			}
			set
			{
				this.timestamp = value;
			}
		}

		// Token: 0x170001B5 RID: 437
		// (get) Token: 0x060006C6 RID: 1734 RVA: 0x000218D8 File Offset: 0x0001FAD8
		// (set) Token: 0x060006C7 RID: 1735 RVA: 0x00004775 File Offset: 0x00002975
		public Stream SymbolStream
		{
			get
			{
				return this.symbol_stream;
			}
			set
			{
				this.symbol_stream = value;
			}
		}

		// Token: 0x170001B6 RID: 438
		// (get) Token: 0x060006C8 RID: 1736 RVA: 0x000218F0 File Offset: 0x0001FAF0
		// (set) Token: 0x060006C9 RID: 1737 RVA: 0x0000477F File Offset: 0x0000297F
		public ISymbolWriterProvider SymbolWriterProvider
		{
			get
			{
				return this.symbol_writer_provider;
			}
			set
			{
				this.symbol_writer_provider = value;
			}
		}

		// Token: 0x170001B7 RID: 439
		// (get) Token: 0x060006CA RID: 1738 RVA: 0x00021908 File Offset: 0x0001FB08
		// (set) Token: 0x060006CB RID: 1739 RVA: 0x00004789 File Offset: 0x00002989
		public bool WriteSymbols
		{
			get
			{
				return this.write_symbols;
			}
			set
			{
				this.write_symbols = value;
			}
		}

		// Token: 0x170001B8 RID: 440
		// (get) Token: 0x060006CC RID: 1740 RVA: 0x00021920 File Offset: 0x0001FB20
		public bool HasStrongNameKey
		{
			get
			{
				return this.key_pair != null || this.key_blob != null || this.key_container != null;
			}
		}

		// Token: 0x170001B9 RID: 441
		// (get) Token: 0x060006CD RID: 1741 RVA: 0x00021950 File Offset: 0x0001FB50
		// (set) Token: 0x060006CE RID: 1742 RVA: 0x00004793 File Offset: 0x00002993
		public byte[] StrongNameKeyBlob
		{
			get
			{
				return this.key_blob;
			}
			set
			{
				this.key_blob = value;
			}
		}

		// Token: 0x170001BA RID: 442
		// (get) Token: 0x060006CF RID: 1743 RVA: 0x00021968 File Offset: 0x0001FB68
		// (set) Token: 0x060006D0 RID: 1744 RVA: 0x0000479D File Offset: 0x0000299D
		public string StrongNameKeyContainer
		{
			get
			{
				return this.key_container;
			}
			set
			{
				this.key_container = value;
			}
		}

		// Token: 0x170001BB RID: 443
		// (get) Token: 0x060006D1 RID: 1745 RVA: 0x00021980 File Offset: 0x0001FB80
		// (set) Token: 0x060006D2 RID: 1746 RVA: 0x000047A7 File Offset: 0x000029A7
		public StrongNameKeyPair StrongNameKeyPair
		{
			get
			{
				return this.key_pair;
			}
			set
			{
				this.key_pair = value;
			}
		}

		// Token: 0x170001BC RID: 444
		// (get) Token: 0x060006D3 RID: 1747 RVA: 0x000047B1 File Offset: 0x000029B1
		// (set) Token: 0x060006D4 RID: 1748 RVA: 0x000047B9 File Offset: 0x000029B9
		public bool DeterministicMvid { get; set; }

		// Token: 0x040001F4 RID: 500
		private uint? timestamp;

		// Token: 0x040001F5 RID: 501
		private Stream symbol_stream;

		// Token: 0x040001F6 RID: 502
		private ISymbolWriterProvider symbol_writer_provider;

		// Token: 0x040001F7 RID: 503
		private bool write_symbols;

		// Token: 0x040001F8 RID: 504
		private byte[] key_blob;

		// Token: 0x040001F9 RID: 505
		private string key_container;

		// Token: 0x040001FA RID: 506
		private StrongNameKeyPair key_pair;
	}
}
